The invention relates to a method and apparatus for improving channel utilization, for example channel utilization by IP (Internet Protocol) applications running over a wireless link.
Control messages in IP based transport (e.g., L4 TCP (transport control protocol) messages) and upper layers (L5-L7) are carried in the same way as L7 data packets with the same delay and error characteristics, where L4, L5, L6 and L7 refer to the OSI model""s transport, session, presentation and application layers respectively. This is in contrast to how other communications protocols afford minimum delay and high reliability transport to control messages. For example, in most wireless communications standards (such as CDMA2000) separate paths are provided for control signaling that have low error rates and low delay compared with the path used for non-control data.
To obtain optimal performance, all IP packets should be carried over a channel with minimum error and delay. However, this is unrealistic in many situations. For example, for wireless transmission, there is a minimum (still long) delay of approximately 100 ms. Additionally, the cost is high in terms of radio resources to reduce transmission errors and to increase the bit rate of data transfer (principally through increasing transmission power).
In each IP flow there can be defined three subclasses of packets. The first class consists of all TCP control packets, also referred to as L4 control packets. The second class consists of all control packets above TCP, for example control packets in L5 to L7. These will be referred to as xe2x80x9cupper layer control packetsxe2x80x9d. The third class consists of application layer data packets, also referred to as L7 data packets. The first and second classes can be combined and referred to collectively simply as xe2x80x9ccontrol packetsxe2x80x9d. The control packets are usually transported between two end-hosts in a stop-and-wait manner meaning that if a control packet is lost or delayed the operations of the application stop until the control packet arrives correctly or is retransmitted. For this reason, the loss or delay of a control packet will have a much more significant impact on the overall performance of many IP applications than the loss or delay of a data packet.
For many IP applications, e.g., Web browsing and e-mail access, it is found that there is a significant difference in the utilization of a transmission channel depending upon factors such as delay and error rate. Referring to FIG. 1, curve 10 is a plot of the channel utilization as a function of increasing channel rate for a first channel with a high error rate, long delay, and additional variable delays due to L2 (layer 2) retransmissions required to deal with the errors. Curve 12 is a plot of the channel utilization as a function of increasing channel rate for a second channel with a low error rate and the same long delay but without the additional retransmission delays. The utilization of the second channel is much higher than is the utilization of the first channel.
Many IP applications, e.g., Web browsing, exhibit a behaviour that may be characterized as burst data transfer. They usually transport a small burst of data in one complete (e.g., TCP) session. Usually the data objects transferred are so small that they can be completed within the first (few) round trip times.
For each data object the application may proceed through (e.g., TCP) connection set-up, data transfer, and connection termination phases. The control packet interactions which dominate the complete session have the above mentioned stop-and-wait behaviour. FIGS. 2A and 2B illustrate this stop-and-wait behaviour in the context of a single TCP session of HTTP1.0 Web page retrieval where control message flow between a sender 20 and a receiver 22 is shown during connection setup and data transfer respectively. The behaviour during connection termination is similar. First, during TCP connection set-up, a L4 control packet (e.g., a SYN 24) is sent from one of the end-hosts (the receiver 22 of data), it is received by the other host (sender 20). The sender 20 waits during the transmission of the packet until it arrives. It ends a response packet (e.g., a reply SYN/ACK 26). Between the transmission of SYN 24 and the receipt of SYN 26, the receiver 22 stops and waits. Then the receiver 22 replies with message 28 to confirm the connection. During connection set-up and termination, almost all the (TCP layer control) packets are exchanged in the stop-and-wait manner.
During data transfer, the receiver 22 sends a HTTP xe2x80x9cGetxe2x80x9d (L7 control) packet 30 and the sender 20 replies with the requested data packets 32 in response. If the data transfer phase of the TCP session is still in slow-start, then data packets will also exhibit this stop-and-wait behaviour. As the TCP congestion window opens up more the degree of this stop-and-wait decreases gradually. If TCP is in the stable state, in response to each xe2x80x9cGetxe2x80x9d message, it is likely all the data packets for a particular Web page data entity will be released onto the transmission channel. The receiver 22 responds with ACKs 34 the last of which contains the L4 control message FIN.
In the examples of FIGS. 2A and 2B, the SYN 24, 26, 28 and ACK 34 packets are L4 control packets. xe2x80x9cGetxe2x80x9d 30 is a L7 control packet. When any of the control packets are disrupted, the interaction of the protocol is either stopped (for a packet loss) or delayed (for the amount of actual delay). This reduces the efficiency of the data transmission, and results in lower utilization of a transmission channel as everything stands still. For burst data transfer, because the stop-and-wait behavior dominates, the reduction in utilization is steep.
To different degrees, all IP applications have this stop-and-wait behaviour in their protocol interaction as a result of control packets which have to be exchanged between two end-hosts. This behaviour is very dominant in burst data transfer, e.g., POP3 (small e-mail), SMPT (small e-mail), and HTTP 1.0 (small Web browsing). It is slightly less so in HTTP 1.1. It is not a big problem for bulk data transfer, e.g., FTP. The long delays of wireless channels exacerbate the problem.
An embodiment of the invention applicable in the context of the TCP/IP suite of protocols explicitly provides separate and preferential treatment of L4-L7 control packets compared to the treatment of L7 data packets. It provides a performance gain at the cost of providing such preferential treatment for high error and long delay channels such as wireless links. Advantageously, channel utilization may be increased, for example by 5-50% depending on link conditions, on high error and long delay transmission links.
More generally the invention distinguishes between control packets such as transport layer (for example, TCP, OSI Layer 4 or L4) and application layer (for example, OSI Layer 7) control packets and data packets, and transmits the control packets with higher reliability and lower delays. In this way, the overall data transmission can be faster and more efficient as measured by the increase in the utilization of a transmission channel. This benefit may be significant for IP applications where data objects transferred are small and are bursty, e.g., Web browsing and e-mail access.
The invention is particularly applicable in high-speed wireless data transmission. In this environment, the one-way delay can be long (e.g., 100 ms). Physical layer transmission error rates are high (e.g., 10%) in order to preserve radio resources. Additional delays (e.g., 200-400 ms) are introduced by link layer retransmissions in order to compensate for the high physical layer error rate. Additional resources are required to transmit control packets reliably and with low delay, as they are typically small packets. At the same time, a significant gain in channel utilization is obtained as the interruption to data transmission is reduced. Advantageously the invention applied in this context addresses one of the major problems in high-speed wireless communications, this being the under-utilization of radio channels, for many IP applications. These channels are scarce resources as they are fundamentally limited by the available radio spectrum.
Advantageously no modification to the TCP/IP protocol layers at either end are required.
The packets can be classified as control or data packets on the basis of packet length. More generally, an embodiment of the invention provides a method of classifying a packet into one of a plurality of types by determining the packet""s length, and then classifying the packet into one of the types as a function of the packet""s length.
Advantageously, this method is processing efficient, and does not require the examination of the contents of individual packets, although such examination may enhance performance further.